package com.zzw.entity;


import org.springframework.security.core.GrantedAuthority;

import javax.persistence.*;
import java.util.List;

@Table(name = "sys_role")
public class SysRole extends  AbstractAuditingEntity {

    /**
     * 名称
     */
    private String name;

    /**
     * 对象id。带前缀，物业管理员创建的则为物业id，广告管理员创建的则为广告商id，系统管理员创建则为0
     */
    @Column(name = "obj_id")
    private String objId;

    /**
     * 取值范围 0表示智之屋 10表示省 11表示市 20表示物业 21表示小区 22表示楼栋 23表示单元 24表示门 25广告商 待补充
     */
    @Column(name = "obj_type")
    private Integer objType;


    @Transient
    private List<SysFunPermission> sysFunPermissions;
    @Transient
    private List<SysDataPermission> sysDataPermissions;


    /**
     * 获取名称
     *
     * @return name - 名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置名称
     *
     * @param name 名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取对象id。带前缀，物业管理员创建的则为物业id，广告管理员创建的则为广告商id，系统管理员创建则为0
     *
     * @return obj_id - 对象id。带前缀，物业管理员创建的则为物业id，广告管理员创建的则为广告商id，系统管理员创建则为0
     */
    public String getObjId() {
        return objId;
    }

    /**
     * 设置对象id。带前缀，物业管理员创建的则为物业id，广告管理员创建的则为广告商id，系统管理员创建则为0
     *
     * @param objId 对象id。带前缀，物业管理员创建的则为物业id，广告管理员创建的则为广告商id，系统管理员创建则为0
     */
    public void setObjId(String objId) {
        this.objId = objId;
    }

    /**
     * 获取取值范围 0表示智之屋 10表示省 11表示市 20表示物业 21表示小区 22表示楼栋 23表示单元 24表示门 25广告商 待补充
     *
     * @return obj_type - 取值范围 0表示智之屋 10表示省 11表示市 20表示物业 21表示小区 22表示楼栋 23表示单元 24表示门 25广告商 待补充
     */
    public Integer getObjType() {
        return objType;
    }

    /**
     * 设置取值范围 0表示智之屋 10表示省 11表示市 20表示物业 21表示小区 22表示楼栋 23表示单元 24表示门 25广告商 待补充
     *
     * @param objType 取值范围 0表示智之屋 10表示省 11表示市 20表示物业 21表示小区 22表示楼栋 23表示单元 24表示门 25广告商 待补充
     */
    public void setObjType(Integer objType) {
        this.objType = objType;
    }

    public List<SysFunPermission> getSysFunPermissions() {
        return sysFunPermissions;
    }

    public void setSysFunPermissions(List<SysFunPermission> sysFunPermissions) {
        this.sysFunPermissions = sysFunPermissions;
    }

    public List<SysDataPermission> getSysDataPermissions() {
        return sysDataPermissions;
    }

    public void setSysDataPermissions(List<SysDataPermission> sysDataPermissions) {
        this.sysDataPermissions = sysDataPermissions;
    }
}